1. Field of the Description
The present description relates, in general, to bipedal legged robots (e.g., biped humanoid robots), and, more particularly, to a method for providing proper foot placement for such robots to allow legged locomotion and balancing (either planar or non-planar) through control of force-controllable joints.
2. Relevant Background
A bipedal legged robot is a robot that can walk and/or balance on two legs. In general, a bipedal robot has two legs with a plurality of joints and some form of foot (but not necessarily flat) that makes contact with the ground. Bipedal robots may be formed with many rigid links that are interconnected by joints that are operated or positioned by applying a force or torque to each joint to move and position a robot. Similarly, other legged robots such as those with three, four, or more legs also may walk utilizing force-controlled movement of their legs.
In order to walk and balance, bipedal robots require safe and compliant control of the force-controlled joints. In this regard, a controller is provided for each robot that has to be programmed to determine desired motions and desired output forces (contact forces) and, in response, command the actuators to output these desired joint torques to effectively control movement and positioning of the bipedal robot. A robot may include a sensor at each joint that is used to provide input to the controller for identifying or determining joint angles and velocities, and these joint angles and velocities are kinematic parameters used to control the robot through movement of its joints. In other cases, the sensors can also be offboard the robot. For example, one can use a motion capture camera system to compute and communicate joint position and velocity information back to the controller instead of having the sensors directly on the robot itself. Particularly, foot sensors may be provided on a bipedal robot to provide information about foot contact with the ground.
While significant work has been undertaken with regard to bipedal robots, there remains a need for improved methods for controlling legged robots. Preferably, the methods would be useful in an onboard robot controller to generate foot placements that may be used by other controller components to generate torques for the motors of the various robot joints to provide a walking movement while maintaining the balance of the legged robot (e.g., a bipedal or humanoid robot or a robot with four or more legs).